package com.hnkywl.sts.entity.cwgl;

import com.hnkywl.sts.entity.BaseEntity;
import com.hnkywl.sts.entity.cwgl.kmys.Tyfzhsmc;
import com.hnkywl.sts.entity.cwgl.kmys.Tyfzhsys;
import com.hnkywl.sts.entity.organ.Nbgs;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.hibernate.annotations.Where;

import javax.persistence.*;

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 13-5-11
 * Time: 上午11:12
 * To change this template use File | Settings | File Templates.
 */
@Entity
@Table(name = "T_SYS_KMDM")
@Where(clause = "deleted!='1'")
public class Kmdm extends BaseEntity {
    @Id
    @SequenceGenerator(name = "seqKmdm", allocationSize = 1, sequenceName = "SEQ_SYS_KMDM")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seqKmdm")
    private Long id;


    /**
     * 公司
     */
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name="NBGS_ID")
    @NotFound(action = NotFoundAction.IGNORE)
    private Nbgs nbgs;

    /**
     *  代码
     */
    private String  code;

    /**
     * 上级代码
     */
    private String sjcode;

    /**
     *  名称
     */
    private String name;

    /**
     * 助记码
     */
    private String zjm;

    /**
     * 科目方向
     */
    private String kmfx;

    /**
     * 科目属性
     */
    private String kmsx;

    /**
     *  科目大类
     */
    private String kmdl;

    /**
     *  币别
     */
    private String bb;

    /**
     * 受控系统
     */
    private String skxt;

    /**
     *  货币核算类型
     */
    private String hbhslx;

    /**
     * 辅助核算类型
     */
    private String fzhslx;

    /**
     *    启用往来
     */
    private String qywl;

    /**
     *   现金流量属性
     */
    private String xjllsx;

    /**
     *  借方流量项目
     */
    private String jfllxm;

    /**
     *贷方流量项目
     */
    private String dfllxm;

    /**
     *特殊余额科目
     */
    private String tsyekm;

    /**
     * 现金流量备注
     */
    private String xjllbz;

    /**
     *可以增加下级
     */
    private String kxzjxj;

    /**
     * 是否传递现金流量到下级
     */

    private String sfcdxjlldxj;
    /**
     *是否有下级  true：有下级  false：没有下级
     */
    private Boolean sfxj;

    /**
     * 帐页格式
     */
    private String zygs;

    /**
     * 通用辅助核算映射
     * @return
     */
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name="TYFZHSYS_ID")
    @NotFound(action = NotFoundAction.IGNORE)
    private Tyfzhsys tyfzhsys;

    /**
     * 通用辅助核算名称
     * @return
     */
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name="TYFZHSMC_ID")
    @NotFound(action = NotFoundAction.IGNORE)
    private Tyfzhsmc tyfzhsmc;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Nbgs getNbgs() {
        return nbgs;
    }

    public void setNbgs(Nbgs nbgs) {
        this.nbgs = nbgs;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getSjcode() {
        return sjcode;
    }

    public void setSjcode(String sjcode) {
        this.sjcode = sjcode;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getZjm() {
        return zjm;
    }

    public void setZjm(String zjm) {
        this.zjm = zjm;
    }

    public String getKmfx() {
        return kmfx;
    }

    public void setKmfx(String kmfx) {
        this.kmfx = kmfx;
    }

    public String getKmsx() {
        return kmsx;
    }

    public void setKmsx(String kmsx) {
        this.kmsx = kmsx;
    }

    public String getKmdl() {
        return kmdl;
    }

    public void setKmdl(String kmdl) {
        this.kmdl = kmdl;
    }

    public String getBb() {
        return bb;
    }

    public void setBb(String bb) {
        this.bb = bb;
    }

    public String getSkxt() {
        return skxt;
    }

    public void setSkxt(String skxt) {
        this.skxt = skxt;
    }

    public String getHbhslx() {
        return hbhslx;
    }

    public void setHbhslx(String hbhslx) {
        this.hbhslx = hbhslx;
    }

    public String getFzhslx() {
        return fzhslx;
    }

    public void setFzhslx(String fzhslx) {
        this.fzhslx = fzhslx;
    }

    public String getQywl() {
        return qywl;
    }

    public void setQywl(String qywl) {
        this.qywl = qywl;
    }

    public String getXjllsx() {
        return xjllsx;
    }

    public void setXjllsx(String xjllsx) {
        this.xjllsx = xjllsx;
    }

    public String getJfllxm() {
        return jfllxm;
    }

    public void setJfllxm(String jfllxm) {
        this.jfllxm = jfllxm;
    }

    public String getDfllxm() {
        return dfllxm;
    }

    public void setDfllxm(String dfllxm) {
        this.dfllxm = dfllxm;
    }

    public String getTsyekm() {
        return tsyekm;
    }

    public void setTsyekm(String tsyekm) {
        this.tsyekm = tsyekm;
    }

    public String getXjllbz() {
        return xjllbz;
    }

    public void setXjllbz(String xjllbz) {
        this.xjllbz = xjllbz;
    }

    public String getKxzjxj() {
        return kxzjxj;
    }

    public void setKxzjxj(String kxzjxj) {
        this.kxzjxj = kxzjxj;
    }

    public String getSfcdxjlldxj() {
        return sfcdxjlldxj;
    }

    public void setSfcdxjlldxj(String sfcdxjlldxj) {
        this.sfcdxjlldxj = sfcdxjlldxj;
    }

    public Boolean getSfxj() {
        return sfxj;
    }

    public void setSfxj(Boolean sfxj) {
        this.sfxj = sfxj;
    }

    public String getZygs() {
        return zygs;
    }

    public void setZygs(String zygs) {
        this.zygs = zygs;
    }

    public Tyfzhsys getTyfzhsys() {
        return tyfzhsys;
    }

    public void setTyfzhsys(Tyfzhsys tyfzhsys) {
        this.tyfzhsys = tyfzhsys;
    }

    public Tyfzhsmc getTyfzhsmc() {
        return tyfzhsmc;
    }

    public void setTyfzhsmc(Tyfzhsmc tyfzhsmc) {
        this.tyfzhsmc = tyfzhsmc;
    }
}
